/*    */ package com.structure.composite;
/*    */ 
/*    */ import java.util.ArrayList;
/*    */ import java.util.List;
/*    */ 
/*    */ public class Folder extends AFile
/*    */ {
/*    */   private List<AFile> files;
/*    */ 
/*    */   public Folder(String name)
/*    */   {
/* 11 */     this.name = name;
/* 12 */     this.files = new ArrayList();
/*    */   }
/*    */ 
/*    */   public AFile addFile(String name)
/*    */   {
/*    */     AFile file;
/* 19 */     if (name.contains("."))
/* 20 */       file = new File(name);
/*    */     else {
/* 22 */       file = new Folder(name);
/*    */     }
/* 24 */     this.files.add(file);
/* 25 */     return file;
/*    */   }
/*    */ 
/*    */   public void delFile(String name)
/*    */   {
/* 30 */     for (AFile file : this.files)
/* 31 */       if (file.getName().equals(name))
/* 32 */         this.files.remove(file);
/*    */   }
/*    */ 
/*    */   public AFile getChildFile(String name)
/*    */   {
/* 40 */     for (AFile file : this.files) {
/* 41 */       if (file.getName().equals(name)) {
/* 42 */         return file;
/*    */       }
/*    */     }
/* 45 */     return null;
/*    */   }
/*    */ 
/*    */   public void showFiles(int n) {
/* 49 */     for (AFile file : this.files)
/* 50 */       if ((file instanceof Folder)) {
/* 51 */         System.out.println(create_(n) + file.getName());
/* 52 */         ((Folder)file).showFiles(n + 1);
/*    */       } else {
/* 54 */         System.out.println(create_(n) + file.getName());
/*    */       }
/*    */   }
/*    */ 
/*    */   public static String create_(int n)
/*    */   {
/* 60 */     String str = "";
/* 61 */     for (int i = 0; i < n; i++) {
/* 62 */       str = str + "--";
/*    */     }
/* 64 */     return str;
/*    */   }
/*    */ }